const App = getApp();
var graceChecker = require("../../graceUI/jsTools/graceChecker.js");
Page({

    /**
     * 页面的初始数据
     */
    data: {

    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function () {
        //预先获取CODE
        let _this = this;
        wx.login({
            success(res) {
                _this.setData({
                    appcode: res.code,
                });
            }
        })
    },
    /**
     * 手机授权登录
     */
    getPhoneNumber(e) {
        let _this = this;
        if (e.detail.errMsg == 'getPhoneNumber:fail') {
            //console.log(ErrMsg);
            App.showError('未获取到手机号码');
            return false;
        } else if (e.detail.iv == undefined || !e.detail.iv) {
            App.showError('授权失败');
            return false;
        };
        wx.showLoading({
            title: "正在登录",
            mask: true
        });

        wx.checkSession({
            success() {
                // 发送用户信息
                App._post_form('wechat/phone_login', {
                    code: _this.data.appcode,
                    encryptedData: e.detail.encryptedData,
                    iv: e.detail.iv
                }, result => {
                    _this.login_success(result)
                }, false, () => {
                    wx.hideLoading();
                });

            },
            fail() {
                // session_key 已经失效，需要重新执行登录流程
                wx.login({
                    success(res) {
                        // 发送用户信息
                        App._post_form('wechat/phone_login', {
                            code: res.code,
                            encryptedData: e.detail.encryptedData,
                            iv: e.detail.iv
                        }, result => {
                            _this.login_success(result)
                        }, false, () => {
                            wx.hideLoading();
                        });
                    }
                });
            }
        })
        // 执行微信登录
    },
    //登陆成功处理
    login_success(res) {
        let _this = this;
        //单账户
        if (res.code == '0') {
            // 记录token user_id
            wx.setStorageSync('user_id', res.data.id);
            wx.setStorageSync('sessionid', res.data.sessionid);
            wx.reLaunch({
                url: '/pages/index/index',
            });
        }
    },

    /**
     * 暂不登录
     */
    onNotLogin() {
        let _this = this;
        // 跳转回原页面
        App.showError('请直接退出小程序', function () {
            fail && fail(res);
        });
    },

    /**
     * 微信支付
     */
    register: function (e) {
        var _this = this;
        // 提交到后端
        App._post_form('wechat/reg_payment', {
            openid: _this.data.openid,
            mobile: _this.data.mobile
        }, function (result) {
            console.log(result)
            var orderid = result.data.orderid
            wx.requestPayment({
                'timeStamp': result.data.config.timeStamp,
                'nonceStr': result.data.config.nonceStr,
                'package': result.data.config.package,
                'signType': result.data.config.signType,
                'paySign': result.data.config.paySign,
                'success': function (res) {
                    console.log(res);
                    //支付完成，隐藏窗口
                    _this.setData({ show2: false });
                    //支付完成，查询状态
                    App._get('wechat/payment_check', {
                        orderid: orderid
                    }, function (result) {
                        //支付完成
                        if (result.code == '0') {
                            wx.showToast({
                                title: '支付完成',
                                icon: 'loading',
                                duration: 1000
                            });
                            wx.navigateTo({
                                url: '/pages/user/register',
                            });
                        }

                    });
                },
                'fail': function (res) {
                    console.log(res);
                    wx.showToast({
                        title: '支付失败',
                        icon: 'loading',
                        duration: 1000
                    });
                    wx.removeStorageSync('shop_id');
                    wx.removeStorageSync('user_id');
                    wx.removeStorageSync('sessionid');
                    wx.removeStorageSync('account');
                    wx.removeStorageSync('phone');
                    wx.removeStorageSync('mobile');
                    wx.removeStorageSync('openid');
                    wx.reLaunch({
                        url: '/pages/index/login',
                    });
                }
            })
        }, false, function () {

        });

    },
    /**
     * 暂不登录
     */
    tiyan() {
        let _this = this;
        App._get('wechat/tiyan', {
        }, function (result) {
            wx.setStorageSync('shop_id', result.data.sid);
            wx.setStorageSync('user_id', result.data.id);
            wx.setStorageSync('sessionid', result.data.sessionid);
            // 执行回调函数          
            wx.reLaunch({
                url: '/pages/index/index',
            });
        });
    },
    /**
     * 授权成功 跳转回原页面
     */
    onNavigateBack() {
        wx.navigateBack();
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {
        return {
            title: '出纳宝-小微企业记账助手',
            imageUrl: 'https://web.chunabao.cn/static/wechat/fenxiang.png',
        }
    }
})